﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using DTO_MechSys;
using BLL_MechSys;

namespace FORMS_MechSys
{
    public partial class frmVenda : Form
    {

        #region Variaveis
        DataTable dataTableGridView = new DataTable();
        List<DTOOrdemPendente> ListOrdemPendente = new List<DTOOrdemPendente>();

        //DTOCliente dtoCliente = new DTOCliente();
        DTOOrdemPendente dtoOrdemPendente = new DTOOrdemPendente();
        DTOOrdemDetalheServico dtoOrdemDetalheServico = new DTOOrdemDetalheServico();
        DTOOrdemDetalheProduto dtoOrdemDetalheProduto = new DTOOrdemDetalheProduto();
        DTOCor dtoCorPrincipal = new DTOCor();
        DTOCor dtoCorFundo = new DTOCor();
        DTOCor dtoCorLetra = new DTOCor();
        DTOCor dtoCorDataGrid = new DTOCor();

        
        
        BLLOrdemPendente bllOrdemPendente = new BLLOrdemPendente();
        BLLCliente bllCliente = new BLLCliente();
        BLLCor bllCor = new BLLCor();
        bool fecharVendas;

        #endregion

        #region Metodos
        public frmVenda()
        {
            InitializeComponent();
            SetColors();
            fecharVendas = false;

            tlpProdutoEServico.ColumnStyles[0] = (new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, (float)(100)));
            tlpProdutoEServico.ColumnStyles[1] = (new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, (float)(0)));

            tlpClienteVeiculo.ColumnStyles[0] = (new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, (float)(100)));
            tlpClienteVeiculo.ColumnStyles[1] = (new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, (float)(0)));

            PopularGridServicos();
            PopularGridProdutos();
            BLLUtilitarios.PagamentoRealizado = false;

            if (dgvProdutos.RowCount == 0 && dgvServicos.RowCount == 0)
                btnCancelar.Enabled = false;
            else
                btnCancelar.Enabled = true;
        }

        public frmVenda(DTOOrdemPendente dtoOrdemPendenteImport)
        {
            InitializeComponent();
            SetColors();
            fecharVendas = true;
            BLLUtilitarios.PagamentoRealizado = false;
            DTOCliente dtocliente = new BLLCliente().PesquisarDonoVeiculo(dtoOrdemPendenteImport.VeiculoID);
            DTOVeiculo dtoveiculo = new BLLVeiculo().PesquisarVeiculosID(dtoOrdemPendenteImport.VeiculoID);
            txtBairro.Text = dtocliente.Bairro;
            txtCidade.Text = dtocliente.Cidade;
            txtDescricao.Text = dtoOrdemPendenteImport.Descricao;
            txtEstado.Text = new BLLUnidadeFederal().BuscarEstadosPorUFID(dtocliente.Estado).Nome;
            txtNome.Text = dtocliente.Nome + " " + dtocliente.Sobrenome;
            txtNumero.Text = dtocliente.Numero;
            txtResumo.Text = dtoOrdemPendenteImport.Resumo;
            txtRua.Text = dtocliente.Rua;
            cmbPrioridade.SelectedItem = dtoOrdemPendenteImport.Prioridade;
            msktxtCEP.Text = dtocliente.CEP;
            msktxtCPF.Text = dtocliente.CPF;
            msktxtTelefone.Text = dtocliente.Telefone;
            txtVeiculo.Text = dtoOrdemPendenteImport.Veiculo;
            txtVeiculoID.Text = dtoOrdemPendenteImport.VeiculoID.ToString();
            txtveiculoPlaca.Text = dtoOrdemPendenteImport.Placa;




            dtoOrdemPendente = dtoOrdemPendenteImport;
            tlpProdutoEServico.ColumnStyles[0] = (new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, (float)(100)));
            tlpProdutoEServico.ColumnStyles[1] = (new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, (float)(0)));

            tlpClienteVeiculo.ColumnStyles[0] = (new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, (float)(100)));
            tlpClienteVeiculo.ColumnStyles[1] = (new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, (float)(0)));

            PopularGridServicos();
            PopularGridProdutos();
            if (dgvServicos.RowCount > 0)
                rbProdutosEServicos.Checked = true;

            if (dgvProdutos.RowCount == 0 && dgvServicos.RowCount == 0)
                btnCancelar.Enabled = false;
            else
                btnCancelar.Enabled = true;
        }

        private void SetColors()
        {
            dtoCorPrincipal = bllCor.Buscar("Principal");

            tlpVeiculo.BackColor = btnCancelar.BackColor = btnProcurarCliente.BackColor =
              btnEditarServico.BackColor = btnFinalizar.BackColor =
              btnAddProduto.BackColor = tlpCrud.BackColor = tlpMenuStripLeft.BackColor = tlpMenuStripRigth.BackColor = tlpMenuStripCenter.BackColor =
              btnEditarProduto.BackColor = btnExcluirProduto.BackColor = tlpDetalhesInterno.BackColor =
              btnAdiconarServico.BackColor = btnExcluirServico.BackColor = dtoCorPrincipal.Cor;

            dtoCorFundo = bllCor.Buscar("Fundo");
            tlpPrincipal.BackColor = tlpMenuStrip.BackColor = dtoCorFundo.Cor;

            dtoCorDataGrid = bllCor.Buscar("DataGrid");
            dgvProdutos.BackgroundColor = dgvServicos.BackgroundColor = dtoCorDataGrid.Cor;

            dtoCorLetra = bllCor.Buscar("Letra");
            label2.ForeColor = label3.ForeColor = gpbvenda.ForeColor = gpbVeiculo.ForeColor = label1.ForeColor =
                label10.ForeColor = label11.ForeColor = label12.ForeColor = label13.ForeColor = label14.ForeColor =
                label15.ForeColor = label16.ForeColor = label17.ForeColor = label18.ForeColor = label19.ForeColor =
                label8.ForeColor = label20.ForeColor = label9.ForeColor = gbDetalhesServicos.ForeColor =
                label4.ForeColor = label5.ForeColor = label6.ForeColor = label7.ForeColor =
               lbl3.ForeColor = lbl4.ForeColor = label21.ForeColor =
                btnAddProduto.ForeColor = btnProcurarCliente.ForeColor = btnFinalizar.ForeColor =
                btnEditarProduto.ForeColor = btnExcluirProduto.ForeColor = btnCancelar.ForeColor = rbProdutosEServicos.ForeColor =
             btnAdiconarServico.ForeColor = btnExcluirServico.ForeColor = rbSomenteProdutos.ForeColor =
                btnEditarServico.ForeColor = dtoCorLetra.Cor;


        }

        public void Limpar()
        {
            txtBairro.Clear();
            txtCidade.Clear();
            txtEstado.Clear();
            txtNome.Clear();
            txtNumero.Clear();
            txtRua.Clear();
            txtTotal.Clear();
            txtResumo.Clear();
            txtVeiculo.Clear();
            txtDescricao.Clear();
            txtVeiculoID.Clear();
            txtveiculoPlaca.Clear();
            gpbVeiculo.Text = "Ordem";
            txtSubTotalProduto.Clear();
            txtSubTotalServicos.Clear();
            txtSubTotalServicos.Clear(); ;
            dgvProdutos.DataSource = null;
            dgvServicos.DataSource = null;
            cmbPrioridade.SelectedIndex = 0;
            msktxtCEP.Clear();
            msktxtCPF.Clear();
            msktxtTelefone.Clear();
            dateTimePicker1.Value = DateTime.Now;
            dateTimePicker2.Value = DateTime.Now;
        }

        public void PopularGridProdutos()
        {
            double subTotalServico = 0, subTotalProduto = 0;
            double total = 0;

            dgvProdutos.DataSource = new BLLProduto().BuscarProdutosOrdem(dtoOrdemPendente.OrdemPendenteID);
            if (dgvProdutos.Rows.Count > 0)
            {
                dgvProdutos.Columns[0].Visible = false;
                for (int i = 0; i < dgvProdutos.RowCount; i++)
                    total += double.Parse(dgvProdutos["Total", i].Value.ToString());
            }
            txtSubTotalProduto.Text = string.Format("R$ {0:0.00}", total);
            if (txtSubTotalProduto.Text != "")
                subTotalProduto = double.Parse((txtSubTotalProduto.Text.Replace("R", "").Replace("$", "")).ToString());
            if (txtSubTotalServicos.Text != "")
                subTotalServico = double.Parse((txtSubTotalServicos.Text.Replace("R", "").Replace("$", "")).ToString());
            txtTotal.Text = string.Format("R$ {0:0.00}", subTotalProduto + subTotalServico);

        }

        public void PopularGridServicos()
        {
            double subTotalServico = 0, subTotalProduto = 0;
            double total = 0;

            dgvServicos.DataSource = new BLLServico().BuscarServicosOrdem(dtoOrdemPendente.OrdemPendenteID);
            if (dgvServicos.Rows.Count > 0)
            {
                dgvServicos.Columns[0].Visible = false;
                for (int i = 0; i < dgvServicos.RowCount; i++)
                {
                    total += double.Parse(dgvServicos["Valor", i].Value.ToString());
                }
            }
            txtSubTotalServicos.Text = string.Format("R$ {0:0.00}", total);
            if (txtSubTotalProduto.Text != "")
                subTotalProduto = double.Parse((txtSubTotalProduto.Text.Replace("R", "").Replace("$", "")).ToString());
            if (txtSubTotalServicos.Text != "")
                subTotalServico = double.Parse((txtSubTotalServicos.Text.Replace("R", "").Replace("$", "")).ToString());
            txtTotal.Text = string.Format("R$ {0:0.00}", subTotalProduto + subTotalServico);

        }
        #endregion

        #region Eventos
           
        #region Click
        private void toolStripButtonSair_Click(object sender, EventArgs e)
        {
            this.Close();
        }
        private void btnAddProduto_Click(object sender, EventArgs e)
        {
            timerCarrosNaOficina.Enabled = true;
            new frmProdutoAdicionar(dtoOrdemPendente.OrdemPendenteID).ShowDialog();
            PopularGridProdutos();
            PopularGridServicos();
            timerCarrosNaOficina.Enabled = false;
        }
        private void btnExcluirProduto_Click(object sender, EventArgs e)
        {
            timerCarrosNaOficina.Enabled = true;
            dgvProdutos.Focus();
            int index = 0;
            if (dgvProdutos.Rows.Count > 0)
            {
                if (dgvProdutos.CurrentCellAddress.Y != -1)
                {
                    DTOProduto dtoproduto = new DTOProduto();
                    index = dgvProdutos.CurrentCellAddress.Y;
                    dtoproduto.ProdutoID = Int32.Parse(dgvProdutos["ID", index].Value.ToString());
                    dtoproduto.Quantidade = Int32.Parse(dgvProdutos["Quantidade", dgvProdutos.CurrentCellAddress.Y].Value.ToString());
                    new BLLProduto().AlterarQuantidade(dtoproduto);
                    new BLLOrdemDetalheProduto().Excluir(Int32.Parse(dgvProdutos["OrdemDetalheProdutoID", dgvProdutos.CurrentCellAddress.Y].Value.ToString()));
                    PopularGridProdutos();
                    PopularGridServicos();
                }
                else
                    new frmMessageBox().Show("Selecione um produto no Grid");

                dgvProdutos.Focus();
            }
            timerCarrosNaOficina.Enabled = false;
        }
        private void btnAdiconarServico_Click(object sender, EventArgs e)
        {
            timerCarrosNaOficina.Enabled = true;
            new frmServicoAdicionar(dtoOrdemPendente.OrdemPendenteID).ShowDialog();
            PopularGridProdutos();
            PopularGridServicos();
            timerCarrosNaOficina.Enabled = false;
        }
        private void btnEditarProduto_Click(object sender, EventArgs e)
        {
            timerCarrosNaOficina.Enabled = true;
            dgvProdutos_CellClick(null, null);
            new frmProdutoAdicionar(dtoOrdemDetalheProduto).ShowDialog();
            PopularGridProdutos();
            PopularGridServicos();

            timerCarrosNaOficina.Enabled = false;

        }
        private void btnEditarServico_Click(object sender, EventArgs e)
        {
            timerCarrosNaOficina.Enabled = true;
            dgvServicos_CellClick(null, null);
            if (!dtoOrdemDetalheServico.Status)
            {
                new frmServicoAdicionar(dtoOrdemDetalheServico).ShowDialog();
                PopularGridProdutos();
                PopularGridServicos();
            }
            else
                new frmMessageBox().Show("O serviço já está Concluído e não pode ser Editado");
            timerCarrosNaOficina.Enabled = false;
        }
        private void btnConcluirServico_Click(object sender, EventArgs e)
        {
            timerCarrosNaOficina.Enabled = true;
            dgvServicos_CellClick(null, null);
            dtoOrdemDetalheServico.Status = true;
            new BLLOrdemDetalheServico().Atualizar(dtoOrdemDetalheServico);
            PopularGridProdutos();
            PopularGridServicos();
            new frmMessageBox().Show("Servico Concluído", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Information);
            timerCarrosNaOficina.Enabled = false;
        }
        private void btnExcluirServico_Click(object sender, EventArgs e)
        {
            timerCarrosNaOficina.Enabled = true;
            dgvServicos.Focus();
            if (dgvServicos.Rows.Count > 0)
            {
                if (dgvServicos.CurrentCellAddress.Y != -1)
                {
                    new BLLOrdemDetalheServico().Excluir(Int32.Parse(dgvServicos["OrdemDetalheServicoID", dgvServicos.CurrentCellAddress.Y].Value.ToString()));
                    PopularGridProdutos();
                    PopularGridServicos();
                }
                else
                    new frmMessageBox().Show("Selecione um produto no Grid");

                dgvServicos.Focus();
            }

            timerCarrosNaOficina.Enabled = false;
        }
        private void btnProcurarCliente_Click(object sender, EventArgs e)
        {
            new frmClienteSelecionar().ShowDialog();
            DTOCliente dtoCliente = new BLLCliente().PesquisarClienteID(BLLUtilitarios.clienteID);
            DTOEndereco dtoEndereco = new BLLEndereco().BuscarEnderecoPorEnderecoID(dtoCliente.EnderecoID);
            if (dtoEndereco != null && dtoCliente != null)
            {
                txtBairro.Text = dtoEndereco.Bairro;
                txtCidade.Text = dtoEndereco.Cidade;
                txtEstado.Text = new BLLUnidadeFederal().BuscarEstadosPorUFID(dtoEndereco.Estado).Nome.ToString();
                txtNome.Text = dtoCliente.Nome + " " + dtoCliente.Sobrenome;
                txtNumero.Text = dtoEndereco.Numero;
                txtRua.Text = dtoEndereco.Rua;
                msktxtCEP.Text = dtoEndereco.CEP;
                msktxtCPF.Text = dtoCliente.CPF;
                msktxtTelefone.Text = dtoCliente.Telefone;
            }
        }
        private void btnCancelar_Click(object sender, EventArgs e)
        {

            new BLLOrdemDetalheProduto().ExcluirID0();
            new BLLOrdemDetalheServico().ExcluirID0();
            PopularGridProdutos();
            PopularGridServicos();
            if (dgvProdutos.RowCount == 0 && dgvServicos.RowCount == 0)
                btnCancelar.Enabled = false;
            else
                btnCancelar.Enabled = true;
        }
        #endregion

        #region EnabledChanged
        private void btnAddProduto_EnabledChanged(object sender, EventArgs e)
        {
            if (btnAddProduto.Enabled)
            {
                btnAddProduto.BackColor = dtoCorPrincipal.Cor;
                btnAddProduto.ForeColor = dtoCorLetra.Cor;
            }
            else
                btnAddProduto.BackColor = dtoCorFundo.Cor;

        }
        private void btnEditarProduto_EnabledChanged(object sender, EventArgs e)
        {
            if (btnEditarProduto.Enabled)
            {
                btnEditarProduto.BackColor = dtoCorPrincipal.Cor;
                btnEditarProduto.ForeColor = dtoCorLetra.Cor;
            }
            else
                btnEditarProduto.BackColor = dtoCorFundo.Cor;

        }
        private void btnExcluirProduto_EnabledChanged(object sender, EventArgs e)
        {
            if (btnExcluirProduto.Enabled)
            {
                btnExcluirProduto.BackColor = dtoCorPrincipal.Cor;
                btnExcluirProduto.ForeColor = dtoCorLetra.Cor;
            }
            else
                btnExcluirProduto.BackColor = dtoCorFundo.Cor;

        }
        private void btnAdiconarServico_EnabledChanged(object sender, EventArgs e)
        {
            if (btnAdiconarServico.Enabled)
            {
                btnAdiconarServico.BackColor = dtoCorPrincipal.Cor;
                btnAdiconarServico.ForeColor = dtoCorLetra.Cor;
            }
            else
                btnAdiconarServico.BackColor = dtoCorFundo.Cor;

        }
        private void btnEditarServico_EnabledChanged(object sender, EventArgs e)
        {
            if (btnEditarServico.Enabled)
            {
                btnEditarServico.BackColor = dtoCorPrincipal.Cor;
                btnEditarServico.ForeColor = dtoCorLetra.Cor;
            }
            else
                btnEditarServico.BackColor = dtoCorFundo.Cor;

        }
        private void btnExcluirServico_EnabledChanged(object sender, EventArgs e)
        {
            if (btnExcluirServico.Enabled)
            {
                btnExcluirServico.BackColor = dtoCorPrincipal.Cor;
                btnExcluirServico.ForeColor = dtoCorLetra.Cor;
            }
            else
                btnExcluirServico.BackColor = dtoCorFundo.Cor;

        }
        #endregion

        #region Mouse Enter
        private void btnExcluirServicokkkkkkk(object sender, EventArgs e)
        {
            btnExcluirServico.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(194)))), ((int)(((byte)(224)))), ((int)(((byte)(255)))));
            btnExcluirServico.ForeColor = Color.Black;

        }
        private void btnEditarServicokkkkkkk(object sender, EventArgs e)
        {
            btnEditarServico.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(194)))), ((int)(((byte)(224)))), ((int)(((byte)(255)))));
            btnEditarServico.ForeColor = Color.Black;

        }
        private void btnAdiconarServicokkkkkkk(object sender, EventArgs e)
        {
            btnAdiconarServico.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(194)))), ((int)(((byte)(224)))), ((int)(((byte)(255)))));
            btnAdiconarServico.ForeColor = Color.Black;

        }
        private void btnExcluirProdutokkkkkkk(object sender, EventArgs e)
        {
            btnExcluirProduto.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(194)))), ((int)(((byte)(224)))), ((int)(((byte)(255)))));
            btnExcluirProduto.ForeColor = Color.Black;

        }
        private void btnEditarProdutokkkkkkk(object sender, EventArgs e)
        {
            btnEditarProduto.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(194)))), ((int)(((byte)(224)))), ((int)(((byte)(255)))));
            btnEditarProduto.ForeColor = Color.Black;

        }
        private void btnAddProdutokkkkkkk(object sender, EventArgs e)
        {
            btnAddProduto.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(194)))), ((int)(((byte)(224)))), ((int)(((byte)(255)))));
            btnAddProduto.ForeColor = Color.Black;

        }
        #endregion

        #region Mouse Leave
        private void btnAddProduto_MouseLeave(object sender, EventArgs e)
        {
            if (btnAddProduto.Enabled)
            {
                btnAddProduto.BackColor = dtoCorPrincipal.Cor;
                btnAddProduto.ForeColor = dtoCorLetra.Cor;
            }

        }
        private void btnEditarProduto_MouseLeave(object sender, EventArgs e)
        {
            if (btnEditarProduto.Enabled)
            {
                btnEditarProduto.BackColor = dtoCorPrincipal.Cor;
                btnEditarProduto.ForeColor = dtoCorLetra.Cor;
            }

        }
        private void btnExcluirProduto_MouseLeave(object sender, EventArgs e)
        {
            if (btnExcluirProduto.Enabled)
            {
                btnExcluirProduto.BackColor = dtoCorPrincipal.Cor;
                btnExcluirProduto.ForeColor = dtoCorLetra.Cor;
            }
        }
        private void btnAdiconarServico_MouseLeave(object sender, EventArgs e)
        {
            if (btnAdiconarServico.Enabled)
            {
                btnAdiconarServico.BackColor = dtoCorPrincipal.Cor;
                btnAdiconarServico.ForeColor = dtoCorLetra.Cor;
            }
        }
        private void btnEditarServico_MouseLeave(object sender, EventArgs e)
        {
            if (btnEditarServico.Enabled)
            {
                btnEditarServico.BackColor = dtoCorPrincipal.Cor;
                btnEditarServico.ForeColor = dtoCorLetra.Cor;
            }
        }
        private void btnExcluirServico_MouseLeave(object sender, EventArgs e)
        {
            if (btnExcluirServico.Enabled)
            {
                btnExcluirServico.BackColor = dtoCorPrincipal.Cor;
                btnExcluirServico.ForeColor = dtoCorLetra.Cor;
            }
        }

        #endregion

        #region Grid
        private void dgvProdutos_DataSourceChanged(object sender, EventArgs e)
        {
            if (dgvProdutos.RowCount > 0)
            {
                dgvProdutos.ColumnHeadersVisible = true;
                btnEditarProduto.Enabled = true;
                btnExcluirProduto.Enabled = true;
            }
            else
            {
                dgvProdutos.ColumnHeadersVisible = false;
                btnEditarProduto.Enabled = false;
                btnExcluirProduto.Enabled = false;
            }
        }
        private void dgvServicos_DataSourceChanged(object sender, EventArgs e)
        {
            if (dgvServicos.RowCount > 0)
            {
                btnEditarServico.Enabled = true;
                btnExcluirServico.Enabled = true;
            }
            else
            {
                btnEditarServico.Enabled = false;
                btnExcluirServico.Enabled = false;
            }
        }
        private void dgvProdutos_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            if (dgvProdutos.Rows.Count > 0)
            {
                if (dgvProdutos.CurrentCellAddress.Y != -1)
                {
                    int ordemDetalheProdutoID =
                    Int32.Parse(dgvProdutos["OrdemDetalheProdutoID", dgvProdutos.CurrentCellAddress.Y].Value.ToString());
                    dtoOrdemDetalheProduto = new BLLOrdemDetalheProduto().Buscar(ordemDetalheProdutoID);
                }
                else
                    new frmMessageBox().Show("Selecione um produto no Grid");

            }

        }
        private void dgvServicos_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            if (dgvServicos.Rows.Count > 0)
            {
                if (dgvServicos.CurrentCellAddress.Y != -1)
                {
                    int ordemDetalheServicoID =
                    Int32.Parse(dgvServicos["OrdemDetalheServicoID", dgvServicos.CurrentCellAddress.Y].Value.ToString());
                    dtoOrdemDetalheServico = new BLLOrdemDetalheServico().Buscar(ordemDetalheServicoID);
                }
                else
                    new frmMessageBox().Show("Selecione um produto no Grid");

            }
        }
        #endregion

        #region Outros
        private void timer_Tick(object sender, EventArgs e)
        {
            PopularGridProdutos();
            PopularGridServicos();
        }
        private void rbSomenteProdutos_CheckedChanged(object sender, EventArgs e)
        {
            tlpProdutoEServico.ColumnStyles[0] = (new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, (float)(100)));
            tlpProdutoEServico.ColumnStyles[1] = (new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, (float)(0)));

            tlpClienteVeiculo.ColumnStyles[0] = (new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, (float)(100)));
            tlpClienteVeiculo.ColumnStyles[1] = (new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, (float)(0)));
        }
        private void rbProdutosEServicos_CheckedChanged(object sender, EventArgs e)
        {

            tlpProdutoEServico.ColumnStyles[0] = (new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, (float)(50)));
            tlpProdutoEServico.ColumnStyles[1] = (new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, (float)(50)));

            tlpClienteVeiculo.ColumnStyles[0] = (new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, (float)(50)));
            tlpClienteVeiculo.ColumnStyles[1] = (new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, (float)(50)));

        }
        private void timerCarrosNaOficina_Tick(object sender, EventArgs e)
        {
            PopularGridProdutos();
            PopularGridServicos();

            if (dgvProdutos.RowCount == 0 && dgvServicos.RowCount == 0)
                btnCancelar.Enabled = false;
            else
                btnCancelar.Enabled = true;
        }
        private void frmVenda_FormClosed(object sender, FormClosedEventArgs e)
        {
            new BLLOrdemDetalheProduto().ExcluirID0();
            new BLLOrdemDetalheServico().ExcluirID0();
        }
        #endregion

        private void btnFinalizar_Click(object sender, EventArgs e)
        {
            if (!string.IsNullOrWhiteSpace(txtNome.Text))
            {
                if (dgvProdutos.RowCount > 0 || dgvServicos.RowCount > 0)
                {
                    dtoOrdemPendente.Descricao = txtDescricao.Text;
                    if (!string.IsNullOrWhiteSpace(txtVeiculoID.Text))
                        dtoOrdemPendente.VeiculoID = Int32.Parse(txtVeiculoID.Text);
                    dtoOrdemPendente.DataEntrada = DateTime.Now;
                    dtoOrdemPendente.PrevisaoEntrega = DateTime.Now;
                    
                    if (cmbPrioridade.SelectedIndex >= 0)
                        dtoOrdemPendente.Prioridade = cmbPrioridade.SelectedItem.ToString();
                    dtoOrdemPendente.Resumo = txtResumo.Text;
                    dtoOrdemPendente.Status = false;

                    new frmFinalizarPagamento(dtoOrdemPendente, double.Parse((txtTotal.Text.Replace("R", "").Replace("$", "")).ToString())).ShowDialog();
                    if (BLLUtilitarios.PagamentoRealizado)
                        Limpar();
                    if (fecharVendas)
                        this.Close();
                }
                else
                    new frmMessageBox().Show("Informe pelo menos um produto ou serviço.", "Nenhum item de venda encontrado", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
            else
                new frmMessageBox().Show("Para realizar uma venda é necessário informar um Cliente.", "Campo Cliente Vazio", MessageBoxButtons.OK, MessageBoxIcon.Warning);
        }

        #endregion

    }
}
